The present invention integrates VPN multicast services and XML publish-subscribe communications in a common architecture. This combination allows self-managed, zero-configuration, multicast service for XML-based applications in a VPN environment.
Virtual Private Network (VPN) service is concerned with connectivity between disparately connected LANs over a carrier's network. There are many versions of VPN technologies that connect Local Area Networks (LAN) at different communication layers: Virtual Private LAN Service (VPLS) for connecting LANs at layer 2 of the OSI stack; Routed VPN for connecting LANs at layer 3; and SSL VPN for connecting hosts to servers at layer 4. Publish-subscribe multicast mechanisms described herein may work with any of the VPN technologies and be offered as an added-value service to the VPN service.
Multicast is concerned with content delivery from one or more sources to multiple destinations. Packets of multicast traffic, which are identified by multicast channels, are delivered from one or multiple sources to multiple destinations. Some Internet Service Providers (ISPs) offer VPN multicast services with layer 3 VPN service. These ISPs use IP multicast technology and either static IP multicast routing or variants of the Protocol Independent Multicast (PIM) or Multicast Open Shortest Path First (M-OSPPF) protocols, or other multicast routing protocols to enable multicast connectivity between carrier edge routers that are participating in the VPN service.
Publish-subscribe communication is a messaging model. Messaging is the exchange of messages, such as specially-formatted data describing events, requests, and replies, to a messaging server, which acts as a message exchange program for clients' programs. In publish-subscribe technology, subscribers register their interests in a topic or a pattern of events and then asynchronously receive events matching their interest from the messaging server, regardless of the events' publisher. The strength of an event-based interaction style is drawn from full decoupling in time, space and flow between publishers and subscribers. Sun Microsystems' Java Message Service (JMS) is an example of a product that provides messaging interfaces and services using a publish-subscribe communication model.
XML Publish-Subscribe routing uses XML as the data model and follows a publish-subscribe content delivery mechanism where a subscriber (client) requests content relating to a specific context (XML document constraint), the network stores context subscriptions (XML document constraint to interface(s) mapping entries), the publisher (server) pushes content to the network, and the network delivers the content based on contexts' subscriptions to the subscribers. XML routed communication involves forwarding an XML document based on the contents of the document and the subscription databases in the XML routers. Originators and receivers need not know about each other nor is a connection needed between an originator and a receiver. Using XML routing, receivers declare their interests using the subscribe process, originators simply publish messages, and the network takes care of delivering the messages from the senders to the receivers. At a high level, XML routed communication realizes a many-to-many push communication facility that uses dynamic XML content addresses (the content is an interface group address) and decouples sources (subscribers) from receivers (publishers) with a network of XML routers.
XML-based networking in general and XML Publish-Subscribe routing in particular relies on logical XML document constraints, such as topic constraints or attribute value pair constraints, to make policy, routing, and data transformation decisions for a given XML document. A unique characteristic of a XML document is the augmenting of data with semantic and structural information in a flexible manner defined by the application. An XML document is a set of typed attributes (XML elements). The semantic and structural information in an XML document are used as basis for content-based communication in a XML-aware network as they allow value and structural constraints.
XML publish-subscribe routing is not enough to enable publish-subscribe communication between different parties. Publishers, subscribers, and XML routers need a common framework for referencing XML document constraints. XML schemas provide a way to define the structure, content and semantics of XML documents for a particular industry or set of tasks. To access a publication that is based on a specific XML schema, subscribers need to use the same XML schema to express subscriptions using XPath or XQuery. XML schemas have been developed for several document distribution systems, WS-Notification being a good example.
The following is an example of a XML Router Forwarding Table:
XPath Constraint/PredicateNext Hop Resource Set/music/cd[ @artist = “Celine”]{URI1, URI3, URI4, URI9, URI15}//ticker/symbol/[symbol = “ALA”]{URI4, URI2, URI3}
With the rapid adoption of eXtensible Markup Language (XML) and the advent of XPath, XQuery, and related technologies, publish-subscribe systems have gained attention for their potential as application-independent application-level XML multicast routers. XML is a flexible way to create common information formats and share both the format and the form data on the World Wide Web, intranets, and elsewhere. XPath is a language that describes a way to locate and process items in XML documents by using an addressing syntax based on a path through the document's logical structure or hierarchy. XQuery is a specification for a query language that allows a user or programmer to extract information from an XML file or any collection of data that can be XML-like. A publish-subscribe messaging server that uses XPath and XQuery technologies allow for real-time, asynchronous group communication between clients. XML publish-subscribe systems have recently emerged as content-aware XML service routers. Examples of these XML service routers are Solace Systems XCR 3200 and Sarvega's XML Context Router. These XML Publish-Subscribe systems also provide self-managing XML multicast.
VPN Multicast services are operationally complex and do not allow for automatic creation and destruction of multicast groups. One approach, currently offered by some networking vendors, is described in a publication entitled draft-rosen-vpn-mcast-07.txt. The approach described therein requires network operators to operate complex multicast routing protocols and LAN administrators to perform complex configuration and assignment of the IP multicast address space. This approach is not suitable for applications where channels need to be created and destroyed automatically and frequently without configuration of the multicast applications.
There are indeed, a number of applications that require multicast self-management. These include Independent/Personal broadcast, Supply Chain asset tracking, real-time DB access, application content synchronization, custom data push, and location based notifications.